// 要操作的集合
const user = require("../../database/user");
// 工具模块
const uuid = require("uuid");
const md5 = require("md5");
const qs = require("querystring");

// 接口功能
module.exports = async (req, res, next)=>{
  // 接收并解析数据
  const {tel, power, tId, uName} = req.body;

  if(req.power !== 0){
    res.send({
      code:4,
      msg:"权限不够"
    })
    return;
  }

  if(!tel || !power || !tId || !uName){
    res.send({
      code:3,
      msg:"缺少必传参数：tel, power, tId, uName"
    })
    return;
  }

  // 读取用户集合
  const data = await user.find({ tel });
  // 查询是否存在重复数据
  if(data.length < 1){
    // 不存在，增加新数据
    const userMsg = {
      uId:  "user-" + uuid.v1(),
      tel:  tel,
      password: md5(tel.slice(-6)),
      uName: qs.unescape(uName),
      age:  18,
      sex:  "",
      power,
      token:  "",
      lastLoginTime: [],
      regTime: Date.now(),
      avatar: "",
      tId
    };
    await user.insertMany(userMsg);
    // 给前端响应结果
    res.send({
      code: 1,
      msg:  "新用户添加成功",
      data: userMsg
    })
  }else{
    // 存在，给前端响应结果
    res.send({
      code: 2,
      msg:  "该用户信息已存在",
      data: data[0]
    })
  }
}